package com.tbit.uqbike.object.pojo.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tbit.uqbike.annos.Excel;
import lombok.Data;

import java.util.Date;

/**
 * 车辆监控-新
 * @author <a href="mailto:liu.haoxiang@tbit.com.cn">BUGXiang</a>
 * @version 1.0
 * @since 2025-4-23
 */
@Data
public class OperatingMonitorV2VO {

    /**
     * 设备id
     */
    private Integer machineId;

    /**
     * 设备编号
     */
    @Excel(name = "设备编号", sort = 2)
    private String machineNO;

    /**
     * 车辆编号
     */
    @Excel(name = "车辆编号", sort = 1)
    private String userCode;

    /**
     * 车辆类型
     */
    @Excel(name = "车辆类型", sort = 3, readConverterExp = "0=电单车,1=自行车")
    private Integer machineType;

    /**
     * 定位时间
     */
    @Excel(name = "最后定位时间", dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 8)
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date posDt;

    /**
     * 电量时间
     */
    private String batDt;

    /**
     * 定位类型 0-gps定位(默认)  1-手动定位 2-高精度定位
     */
    private Integer posType;

    /**
     * 区域id
     */
    private Integer accountId;

    /**
     * 区域名称
     */
    private String accountName;

    /**
     * 电池电压
     */
    private Integer batteryEu;

    /**
     * 上次借车时间
     */
    @Excel(name = "最后借出时间", dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 9)
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date lastBorrowTime;

    /**
     * 车架号
     */
    @Excel(name = "车架号", sort = 4)
    private String frame;

    /**
     * 车牌号
     */
    @Excel(name = "车牌号", sort = 5)
    private String license;

    /**
     * 电机号
     */
    @Excel(name = "电机号", sort = 6)
    private String motor;

    /**
     * 经度
     */
    private Double lon;

    /**
     * 纬度
     */
    private Double lat;

    /**
     * 经度-转化后
     */
    private Double lonC;

    /**
     * 纬度-转化后
     */
    private Double latC;

    /**
     * 车辆标签名称
     */
    @Excel(name = "车辆标签", sort = 7)
    private String tagName;

    /**
     * 续航里程
     */
    private Integer surplusMileage;
}
